The present invention broadly relates to video trackers for tactical system applications, and more particularly, relates to a tracker which quickly resolves the position of the leading edge or trailing of an object using only a single video frame of data.
Centroid and correlation type video tracking processors are well known in the art. For example, U.S. Pat. No. 4,133,044 issued Jan. 2, 1979 to Fitts, assigned to the Assignee of the present invention, and incorporated by reference herein, discloses a video correlation tracker which employs a recursive reference to calculate tracking error computations. The correlation tracker disclosed in the Fitts patent includes a circuit for generating a reference map in pixel format. Reference map pixel information derived from previous video frames is stored in a recursive memory to allow the calculation of azimuth and elevation optimal weighing values for each pixel in the field of view. The difference between the intensity value for each video pixel being received during the current frame and the intensity value of the corresponding reference map pixel is multiplied by an appropriate weighing function. Each resultant product is then combined in an accumulator to form azimuth and elevation correlation over the designated track gate area which can be as large as the entire field of view (FOV), less a one pixel border. The weighing factors for each pixel are also combined and accumulatively added over the entire image plane to form three adaptive scale factors at the end of each frame which are combined with the azimuth and elevation correction error signals to eliminate cross coupling and generate cross-coupling-free correlation error signals. The correlator tracks relative to a reference, but does not explicitly locate an edge feature.
In one particular, earlier application of a tracking system which was required to locate the leading edge or nose of a target drone for a point reference, the tracking system included several Fitts correlations and centroid tracking gates, but did not include edge trackers or image processing capabilities. The mode control required that the operator manually place a track gate cursor on the nose of the target drone and transition into partial body track on the nose using the Fitts correlation and centroid track gates. During this time, the target drone was held in track using full body correlation track in another gate. While this system functioned quite well during ground tests, using this system in airborne tests proved difficult for the operator.
This difficulty resulted in the development of a biased centroid processor. The biased centroid processor uses a tall, narrow (with respect to the image frame) centroid gate having a predetermined bias which was added to the centroid output in the direction of flight projected onto the field of view (FOV). For example, if G represents the gate width, the azimuth bias for conical nose is approximately G/3. The biased centroid processor requires a pitch correction so that the drone progresses horizontally across the field of view.
In the biased centroid processor, by placing the gate anywhere on the target body, the gate races in the direction of the bias until it reaches the edge of the target. When the edge of the target is reached, the gate stops with the target edge approximately centered in the gate and holds this position.
While the biased centroid processor provides satisfactory operation, the error function for this process is non-linear, resulting at times in less than optimum operation of the processor. For example, if the gate is placed so that the edge of the target falls outside the gate, the output, which is the position of the bias added to the position of the centroid, equals the bias. Further, if the gate falls off of the edge of the target, the gate continues to move in that direction and provides no output. Further yet if the bias is too small, a metastable equilibrium state results in which the gate moves in response to noise, but does not locate the edge. Even in the ideal situation where the edge falls within the gate, the output (the bias added to the centroid) equals one half the distance of the centroid plus the bias. That is, the output equals the error with a gain of one-half for a rectangular target. If bias is too large, the gate will not stop at the edge, and the track will be lost. However, a gain of one-half requires more than one frame of data to locate the edge.
Additional particular disadvantages exist using the biased centroid. First, the biased centroid processor requires that the operator select the correct bias in accordance with the predicted shape of the object to be tracked. If the wrong bias is selected, the biased centroid processor may not provide an edge at the center of the gate. Second, the biased centroid processor provides only the location of the edge of the gate at equilibrium, rather than an absolute edge position within the field of view. Finally, in the biased centroid processor, the gates are moved for every frame. Thus, the biased processor requires several frames in order to yield an estimate of the absolute edge position of an object which may not be sufficient in order to meet certain processing requirements.
Though the biased centroid algorithm does suffer from some minor disadvantages, the algorithm has several desirable features as well. First, the processor allows for partial body tracking (correlation algorithms also allow for partial body tracking, but do not give edge locations explicitly). Further, the biased centroid processor is less sensitive to noise than other edge detection processors because the biased centroid processor uses more pixels in determining the position of the centroid than other edge detection processors. These advantages provide good reasons for further improving the biased centroid approach to edge detection.
Thus, it is an object of the present invention to provide a generalized biased edge detection processor which can do partial body tracking and provide the absolute biased centroid position within one image frame, thereby minimizing the processing time.